home *** CD-ROM | disk | FTP | other *** search
/ The 640 MEG Shareware Studio 2 / The 640 Meg Shareware Studio CD-ROM Volume II (Data Express)(1993).ISO / comm / cs_mac06.zip / COMMO.MAC < prev    next >
Text File  |  1992-08-23  |  30KB  |  611 lines

  1.  
  2.  ┌────────────────────────────────┐
  3.  │  Chuck Seyboldt's COMMO Macro  │   CS-MAC06:COMMO.MAC
  4.  └────────────────────────────────┘
  5.  
  6.   *  Edit lines with a "!" in the first column.
  7.   *  Thanks to Fred Brucker for Commo and to Jim Bennett for many
  8.   *  excellent macro suggestions.
  9.  
  10.   *  This version of CS-MAC is radically different from earlier versions.
  11.   *  It comes in several parts.  See CS-MAC.MAC for the bulk of the text.
  12.  
  13.   *  Links from COMMO.FON are at the extreme end of COMMO.MAC
  14.  
  15.   *  With this line in COMMO.SET, Commo starts with the :start macro
  16.   *       └──┴─────> {mac=start}            Startup macro label
  17.  
  18.   *  I use the :start tool for easy portability from one machine to another.
  19.   *  Many directories are defined here.  They could all have the same name,
  20.   *  but you wouldn't do that (would you?).
  21.  
  22.   ─────────────────────────────────────────────────────────────────────────────
  23.  
  24.  ┌─────────────────┐
  25.  │  Startup Macro  │    In COMMO.SET, {mac=start}  Startup macro label
  26.  └─────────────────┘
  27.  
  28.  {:start}        {clea}
  29. !                {setv ins_dir,%_hom%ins}           ;for docs & instructions
  30. !                {setv savedir,%_hom%sav}           ;for capture files
  31. !                {setv utildir,c:\util}             ;for utility programs
  32. !                {setv qwkdr,d:\qwk}                ;for .QWK files
  33. !                {setv repdr,d:\qwk}                ;for .REP files
  34. !                {setv dosdir,c:\dos}               ;another place for UTIL
  35. !                {setv ramdr,i:}                    ;for FASTest responses
  36. !                {setv ext_ed,%ramdr\q.exe}         ;define external editor
  37. !                {setv ext_li,%ramdr\l.com}         ;define external lister
  38. !                {setv pk_zip,%utildir\zip.exe}     ;name for  ZIP  program
  39. !                {setv pk_un,%utildir\zipx.exe}     ;name for UNZIP program
  40. !                {setv mprot,z}                     ;protocol for mail fetchin
  41. !                {setv name,Chuck Seyboldt}         ;for various uses
  42. !                {capt n,%savedir\%_mon%%_day.cap}  ;establish capture filename
  43. !                {setv rflag,aln}                   ;return flag for multidial
  44.                  {}
  45.  {:retu}         {retu}                             ;Very handy labelname
  46.  
  47.   ─────────────────────────────────────────────────────────────────────────────
  48.   *                                     Tradename     Author            Myname
  49.  
  50.   *  Support files in my %ramdr are:    LIST.COM      (Vern Buerg)      l.com
  51.   *                                     QEDIT.EXE     (Sam Mitchell)    q.exe
  52.   *                                     DSZ.COM       (Chuck Forsberg)  dsz.com
  53.   *  as well as the requisite           COMMAND.COM
  54.  
  55.   *  Support files in my %dosdir are:   COMMOPNS.EXE  (Shad Muegge)
  56.   *                                     HSLINK.EXE    (Sam Smith)
  57.  
  58.   *  Support files in my %utildir are:  PHONE.EXE     (Johnathan Wayne)
  59.   *                                     DFR.COM       (Gordon Haff)
  60.   *                                     MJOG.COM      (Chris Dunford)
  61.  
  62.   *  Support file in my %ins_dir are:   COMMO.DOC
  63.   *                                     MACRO.DOC
  64.   *  The Home key uses LIST to read docs.
  65.  
  66.   *  The %savedir is important:         WHATEVER.CAP    (session captures)
  67.   *                                     USED-ACT.%abbr% (ACTION-file history)
  68.   *                                     ADDRESS         (address book)
  69.   *                                     RING.LOG        (timestamp of RINGs)
  70.  
  71.   *  The Commo %_hom% directory has:    ASSIGN.KEY      (one-page-help  screen)
  72.   *                                     ACTION.%abbr%   (ACTION-file to be run)
  73.  
  74.   *                                     COMMO.MAC      \
  75.   *                                     TABLE.MAC        \   Components
  76.   *                                     LOGON.MAC         >  of  CS-MAC
  77.   *                                     ACTION.MAC       /   Linked  to
  78.   *                                     CS-MAC.MAC     /     each other
  79.  
  80.   *                                     RINGLOG.MAC    \
  81.   *                                     DOSFUNC.MAC     >  Aux facilities
  82.   *                                     MOSTHOST.MAC   /
  83.                                                                                 upld
  84. Send a File                      UpLoad Protocols
  85.  
  86.                                 ╒════════════════╕
  87.                                 │  Zmodem        │                              {call cpu} {exec-n %dszprog port %_por ha bo sz -m @%_hom%files.zup} {}
  88.                                 │  Zmodem/REP    │                              {inpu bbsid,.REP to Upload} {ifex %repdr\%bbsid.rep,,no_rep} {exec-N %dszprog port %_por ha bo sz -mu %repdr%\%bbsid%.rep} {:no_rep} {}
  89.                                 │  Ymodem/G      │                              {call cpu} {symo-gk @%_hom%files.zup} {}
  90.                                 │  1k-Xmodem     │                              {setv proto,1K-Xmodem} {call gfnu} {sxmo-k %file}  {setv proto}  {}
  91.                                 │  Xmodem CRC    │                              {setv proto,Xmodem-CRC}{call gfnu} {sxmo %file}    {setv proto}  {}
  92.                                 │  HS/Link       │                              {call cpu} {exec-n %dosdir%\hslink.exe -@ -I2 -NV -P%_por% @%_hom%files.zup} {}
  93.                                 │                │
  94.                                 │  ASCII         │                              {setv proto,ASCII} {call gfnu} {ascii-e %file}                   {}
  95.                                 ╘════════════════╛
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.                                                                                 downld
  106. Receive a File                 DownLoad  Protocols
  107.  
  108.                                 ╒════════════════╕
  109.                                 │  Zmodem        │                              {exec-n %dszprog port %_por rz -mr %dldir}  {}
  110.                                 │  Zmodem/QWK    │                              {exec-n %dszprog port %_por rz -m  %qwkdr}  {}
  111.                                 │  Ymodem/G      │                              {rymo-gy %dldir}  {}
  112.                                 │  1k-Xmodem     │                              {setv file,%dldir%\} {inpu file,Filename to Download (1k-Xmodem)}    {rxmo %file}    {}
  113.                                 │  Xmodem CRC    │                              {setv file,%dldir%\} {inpu file,Filename to Download (Xmodem CRC)}   {rxmo %file}    {}
  114.                                 │  HS/Link       │                              {exec-n %dosdir%\hslink.exe -@ -C -I2 -NV -P%_por% -R -O -K -U%dldir} {}
  115.                                 │  Ymodem        │                              {rymo-y %dldir}   {}
  116.                                 │  ASCII         │                              {call chm}        {}
  117.                                 ╘════════════════╛
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  Call Download Menu    {:pgd}  {macr downld}    {retu}
  128.  Call Upload Menu      {:pgu}  {macr upld}      {retu}
  129.  Pick N Send           {:cpu}  {exec-n cd %dldir}
  130.                                {exec-d %dosdir%\commopns.exe %_hom%files.zup -F}
  131.                                {retu}
  132.  
  133.  Get UL FileNm {:gfnu} {setv file,%uldir\%mask} {setv dmask} {setv mask}
  134.                        {inpu file,Filename for %proto% upload (.ZIP default)}
  135.                        {ifex %file,retu}
  136.                        {leng %uldir}  {setv dr_len,%_len}
  137.                        {leng %file}   {setv f_len,%_len}
  138.                        {incr dr_len}  {decr f_len,%dr_len}  {incr dr_len}
  139.                        {instring file,.}  {ifco chek}
  140.                        {setv file,%file%.zip}
  141.                {:chek} {ifex %file,retu}
  142.                {:mask} {subs dmask,%dr_len,1,%file}
  143.                        {subs mask,%dr_len,%f_len,%file}
  144.                        {exec-nw5 dir %uldir%\%dmask%*.*}
  145.                        {goto gfnu}
  146.  
  147. Name U/L Dir    {:alu} {setv count,0}
  148.                {:conf} {incr count}
  149.                        {sete-p0 ul%count}
  150.                        {inpu uldir,Select Upload directory (omit trailing"\")}
  151.                        {ifex %uldir\NUL,retu,alu}
  152.                 {:ul1} {setv uldir,d:\co\dl}  {goto conf}
  153.                 {:ul2} {setv uldir,%ramdr}    {goto conf}
  154.                 {:ul3} {setv uldir,%repdr}    {goto conf}
  155.                 {:ul4} {setv uldir,d:\co}     {setv count,0} {goto conf}
  156.                                                                                 menu_ed
  157.  Edit A File               Choose File to Edit
  158.  
  159.                          ╒═══════════════════════╕
  160.                          │ Edit any file         │                              {call nf5} {}
  161.                          │ Edit TABLE.MAC        │                              {exec-n %ext_ed %_hom%table.mac}    {}
  162.                          │ Edit LOGON.MAC        │                              {exec-n %ext_ed %_hom%logon.mac}    {}
  163.                          │ Edit ACTION.MAC       │                              {exec-n %ext_ed %_hom%action.mac}   {}
  164.                          │ Edit CS-MAC.MAC       │                              {exec-n %ext_ed %_hom%cs-mac.mac}   {}
  165.                          │ Edit MACROBBS.MAC     │                              {exec-n %ext_ed %_hom%macrobbs.mac} {}
  166.                          │ Edit ASSIGN.KEY       │                              {edit %_hom%assign.key}             {}
  167.                          │ Edit ADDRESS Book     │                              {edit %savedir\address}             {}
  168.                          │ Edit Upgrade Instruct │                              {edit %ins_dir\setup.ins}           {}
  169.                          ╘═══════════════════════╛
  170.                          │ Edit COMMO.MAC via CS │                              {macl cs-mac.mac,ed_cmac}
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  Editing Menu          {:ale}  {macr menu_ed}                          {}
  180.                                                                                 macr_do
  181.  Run a Macro               Choose Macro to Run
  182.  
  183.                          ╒═══════════════════════╕
  184.  Add BBS to TABLE        │ CS-MAC.MAC,new_bbsid  │  {macl cs-mac.mac,new_bbsid}
  185.  Run ACTION processor    │ ACTION.MAC, action    │  {macl action.mac,action}
  186.  RingLOG Macro   {:sf5}  │ RINGLOG.MAC,g01       │  {macl ringlog.mac,g01}
  187.  DosFunc Macro   {:nf9}  │ DOSFUNC.MAC,g01       │  {macl dosfunc.mac,g01}
  188.  Make ACTION     {:alf}  │ ACTION.MAC, alf       │  {macl action.mac,alf}
  189.  Load HOST Mode  {:af5}  │ MACROBBS.MAC,bbs      │  {macl macrobbs.mac,bbs}
  190.                          │                       │
  191.                          │                       │
  192.                          ╘═══════════════════════╛
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.  Run a Macro menu      {:alm}  {macr macr_do}                          {}
  203.  ┌───────────────────────┐
  204.  │  Toggle CAPTURE mode  │
  205.  └───────────────────────┘
  206.  
  207.  {:chm}  {comp capture,on} {ifco cof}
  208.          {setv capture,on}
  209.          {capt y,%savedir\%_mon%%_day%.cap}
  210.          {exec-n echo OPENED  ■  %_dat %_tim^j>> %_cap}      {retu}
  211.  {:cof}  {setv capture}    {capture n}
  212.          {exec-n echo CLOSED  ■  %_dat %_tim^j■-■-■>> %_cap} {retu}
  213.  
  214.  
  215.  *---*  General  *---*
  216.  Any Command at all    {:alw}  {setv file}
  217.                        {inpu file,Enter any DOS Command:} {exec-W %file} {}
  218.  Test Command here:    {:gr*}  {:cla} {disp ,63,07,%_dwt %_dat%^m}       {}
  219.  
  220.  *---* Terminal Control *---*
  221.  Hang Up Modem         {:alq}  {hang}   {}
  222.  Toggle Signal Lights  {:al0}  {ligh}   {}
  223.  Toggle Mister Sound   {:al3}  {soun}   {}
  224.  Toggle Local Echo     {:al6}  {loca}   {}
  225.  Access Connect Parms  {:all}  {dpar}   {}
  226.  Clear display & more  {:alc}  {parm ,,,,}  {clea}  {setv abbr}        {}
  227.  Toggle Status Line    {:al-}  {statusline}                        {retu}
  228.  
  229.  ┌───────────────────────┐
  230.  │  Toggle Doorway Mode  │
  231.  └───────────────────────┘
  232.  
  233.   *  This doorway mode toggle has a feature that you need to be aware of.
  234.   *  It is setup to send the "drop to DOS" command to a PCBoard host.
  235.   *  You may want to take those "!" lines right out of the picture.
  236.  
  237.                        {:al=}  {sete-p0 retu}
  238.                                {comp dway}     {ifco ,ext}
  239.                                {setv dway,9 y|}
  240. !                              {inpu dway,Host Doorway Command?}
  241. ! PCBoard Drop to DOS command  {send %dway}    You probably want this out!
  242.                                {doorway-m0}  {}
  243.                        {:ext}  {doorway-m0}
  244.                                {setv dway}
  245. ! Return from DOS to PCBoard   {send exit|}  {} Remove this line too!
  246.  
  247.  
  248.  *---* Send Strings *---*
  249.  Send Name             {:nf1}  {send ~~%name|} {retu}
  250.  Send Password         {:nf2}  {send %_pas|}   {retu}
  251.  Send Signature        {:nf0}
  252. !{send                                                     Chuck∙S|~|~SN|}{}
  253.  
  254.  *---* Utilities *---*
  255.  DSZ terminal shell    {:af1}  {exec-d %dszprog t -8g}                 {}
  256.  Directory Freedom     {:cf5}  {:cky}  {exec-d %utildir%\dfr.com}      {}
  257.  List                  {:nf3}  {setv file,%dldir%\}
  258.                                {inpu file,File to List}
  259.                                {exec-D %ext_li %file}                  {}
  260.  Qedit                 {:nf5}  {setv file,%dldir%\}
  261.                                {inpu file,File to Edit}
  262.                                {exec-D %ramdr%\q.exe %file}            {}
  263.  Dial Phone for voice  {:nf6}  {setv file}
  264.                                {inpu file,Name or Number to Call}
  265.                                {comp file}  {ifco retu}
  266.                                {exec-N phone %file}                    {}
  267.  Shell To DOS          {:nf4}  {shell}
  268.                                {subs dr,1,1,%_hom}
  269.                                {exec-n %dr:} {exec-n cd %_hom}         {}
  270.  Mjog                  {:alj}  {exec-w15 mjog /l}                  {retu}
  271.  See DOS Environment   {:als}  {exec-w15 set}                      {retu}
  272.  See a Commo variable  {:al<}  {setv file} {inpu file,See What Variable?}
  273.                                {comp file} {ifco retu}
  274.                                {setv-s value,%file}
  275.                                {inpu %%file,Variable %file,%value} {retu}
  276.  Set a Commo variable  {:al.}  {setv inpu} {inpu inpu,Variable,Setting}
  277.                                {comp inpu} {ifco retu}
  278.                                {setv %%inpu}    {retu}
  279.  Goto a Commo Routine  {:al/}  {setv file} {inpu file,GOTO ":routine"}
  280.                                {comp file} {ifco retu}
  281.                                {rope %_mac,retu}
  282.                   {:gto_loop}  {read line}
  283.                                {inst line,:%file}
  284.                                {ifco ,gto_loop}
  285.                                {rclo}
  286.                                {goto %file}
  287.  
  288.  *---* Commo Help and quick reference *---*
  289.  Show Key Assignments  {:alk}  {exec-w60 type %_hom%assign.key}        {}
  290.  List Commo DOCS       {:hom}  {exec l %ins_dir\*.doc}                 {}
  291.  Call Commo HELP       {:alh}  {help}                                  {}
  292.  
  293.  *---* Session History *---*
  294.  Enter  Scrollback     {:upa}  {screen n,%savedir\savescro} {scro}     {}
  295.  Edit   Capture File   {:dna}  {exec-d %ramdr%\q.exe %_cap}            {}
  296.  List   Capture File   {:lfa}  {exec-d %ext_li %_cap}                  {}
  297.  Review Past Capture   {:rta}  {exec-d %ext_li %savedir\*.cap}         {}
  298.  Capture Screen        {:gr+}  {screen y,%savedir\commo.scn}           {}
  299.  Show Screen Capture   {:gr-}  {edit %savedir\commo.scn}               {}
  300.  Review Call Log       {:alr}  {exec-d %ext_li %_hom%commo.log}        {}
  301.  
  302.  Edit  ACTION File     {:end}  {inpu abbr,Which 2-letter ACTION File?}
  303.                                {edit %_hom%action.%abbr}               {}
  304.  Show ACTION history   {:al1}  {inpu abbr,Show ->%abbr%<- ACTION}
  305.                                {comp abbr} {ifco retu}
  306.                                {subs abbr,1,2,%abbr}
  307.                                {exec-d %ext_li %_hom%*.%abbr}          {}
  308.  
  309.  *---* Messaging macros *---*
  310.  Ascii Upload          {:ala}  {asci %dldir%\,:}                       {}
  311.  Capture/Quote Message {:alo}  {screen n,%_hom%quote.in}
  312.                                {scro} {edit %_hom%quote.in}
  313.                                {ifex %_hom%quote.in,,equote}
  314.                                {rope %_hom%quote.in,equote}
  315.                       {:nline} {read line} {send -> ~%line%|}
  316.                                {goto nline}
  317.                      {:equote} {send  ~|}  {exec-n del %_hom%quote.in} {}
  318.  
  319.  *---*  An automatic ASCII message entry system for PCBoards *---*
  320.  {:nf8}          {setv file,%dldir%\} {inpu file,Name of Upload Message}
  321.                  {ifex %file%,,n_e}
  322.                  {parm ,,,,2}  {send e|}  {asciiup %file%,}
  323.                  {parm ,,,,0}  {send ~~|~~~sn|}
  324.                  {lookfor %bbs_pmt}
  325.                  {display ,,,^j^j}
  326.                  {display ,18,1E,▌ Erase %file%? [Y/n] ▐^m}
  327.                  {setlook 5,y_d,,}
  328.                  {golook y_d,y}
  329.                  {golook n_e,n}
  330.                  {lookfor 'N' Skips Message Delete}
  331.  {:y_d}          {exec-n del %file}
  332.  {:n_e}          {send ^h}{disp ,18,,                                 ^m}{}
  333.  
  334.  *---*  A guarded Alt-X command when leaving Commo from the terminal screen.
  335.  {:alx}  {setv count,0} {setescape-p0 noex}
  336.          {disp 24,1,74,  EXIT ^(Commo^) at "30" > }
  337.          {disp ,,70,   Are you Sure? (Y/n) }
  338.          {disp 24,26}
  339.          {setv count,0}   {setv resp}           ;initialize variables
  340.  {:xlop} {setg 1,upct,n}  {gets-h %resp,1,q_t}  ;set up 1 second wait
  341.          {comp %resp,n}   {ifco noex}           ;compare response
  342.          {comp %resp,y}   {ifco q_t}            ;if resp = y, goto :q_t
  343.  {:upct} {disp 24,26,71,%count} {disp 24,26}
  344.          {incr %count}    {comp %count,31}
  345.          {ifco-G q_t,xlop}{retu}                ;loop or :q_t
  346.  {:noex} {disp 24,1,,                                                  ^m}
  347.          {retu}                                 ;decided to stay
  348.  {:q_t}  {exit}                                 ;normal exit from Commo
  349.  
  350.  *---*  A tool to search a file for a string.
  351.  *---*  Display the entire first line that includes a match.
  352.  {:cf3}          {inpu file,Name to search from ADDRESS book}
  353.                  {comp file}
  354.                  {ifco retu}
  355.                  {call search}
  356.                  {setv oldrow,%_row}       {setv oldcol,%_col}
  357.                  {setv row,%_row}          {decr row,2}
  358.                  {disp %row,1,07,                                                                                }
  359.                  {comp addr}               {ifco retu}
  360.                  {disp %row,1,20,%addr }   {disp %oldrow,%oldcol}
  361.                  {setv addr} {setv oldcol} {setv row}
  362.                  {setv file} {setv oldrow} {retu}
  363.  {:search}       {rope %savedir\address,retu}
  364.  {:aloop}        {read addr}
  365.                  {inst addr,%file}         {ifco ,aloop}
  366.                  {rclo}     {retu}
  367.  
  368.  
  369.  *---*  Routines that might be useful to a remote sysop *---*
  370.  Aview at NLBBS        {:alv}  {door-m0} {send aview|} {setv dway,yes} {}
  371.  View ANSWER1          {:cf9}  {exec-d %ext_li %savedir\answer1}       {}
  372.  View COASTAL sessions {:cf0}  {exec-d %ext_li %savedir\*.log}         {}
  373.  
  374.  
  375.  *---*  Date Routine  *---*
  376.  {:datecode}     {setv x,31}
  377.                  {setv y,%mon}  {decr y}
  378.                  {call x_times_y}
  379.                  {incr x,%day}   {setv doy,%x}
  380.                  {comp yea,91}   {ifco-GE ,2000}
  381.                  {decr yea,91}   {goto yr_code}
  382.  {:2000}         {incr yea,9}
  383.  {:yr_code}      {setv x,372}    {setv y,%yea}
  384.                  {call x_times_y}
  385.                  {incr x,%doy}   {setv datecode,%x}   {retu}
  386.  
  387.  {:today}        {setv day,%_day}       ;This sets working variables
  388.                  {setv mon,%_mon}       ; to Commo's internal "today"
  389.                  {setv yea,%_yea}       ; values
  390.                  {call datecode}        ;Will return with today's code
  391.  
  392.                  {setv today,%datecode} ;Save the returned datecode
  393.  
  394.  {:compday}      {setv day,10}
  395.                  {setv mon,4}
  396.                  {setv yea,91}
  397.                  {call datecode}
  398.                  {decr today,%datecode}
  399.                  {comp today,100}
  400.                  {retu}
  401.  
  402.  *---*  Integer Math Routines  *---*
  403.   *  The result of "Y * X" is returned as "X"
  404.   *  The result of "Y ÷ X" is returned as "X" and "REMAIN"
  405.   *  The variable "Y" is then removed from variable space
  406.  
  407.  {:x_times_y}    {comp x,0}      {ifco zero}
  408.                  {comp y,0}      {ifco zero}
  409.                  {setv count,0}  {setv z,0}
  410.  {:m_loop}       {incr z,%x}     {incr count}
  411.                  {comp count,%y} {ifco-GE ,m_loop}
  412.                  {setv x,%z}     {setv z}  {setv y}  {retu}
  413.  {:zero}         {setv x,0}      {setv remain}       {retu}
  414.  
  415.  {:x_into_y}     {comp y,0}      {ifco zero}
  416.                  {comp x,0}      {setv x,undefined}  {retu}
  417.                  {setv count,0}
  418.  {:d_loop}       {decr y,%x}     {setv remain,%y} {incr count}
  419.                  {comp remain,%x}{ifco-LE ,d_loop}
  420.                  {setv x,%count} {setv y}  {retu}
  421.  
  422.   *---*  Holding places in multiple ROPE files  *---*
  423.                  {setv partlist,1}
  424.                  {setv filename,partlist}
  425.                  {call to_place}  {}
  426.  
  427.  {:to_place}     {setv count,1}
  428.                  {rope %filename,retu}
  429.  {:inc_line}     {read line}
  430.                  {comp count,%%filename}
  431.                  {incr count}
  432.                  {ifco-E retu_pl}
  433.                  {goto inc_line}
  434.  {:retu_pl}      {incr %%filename}  {rclo} {retu}
  435.  
  436. /==========================================================================
  437. /           Download list tagging using COMMO built-in tools
  438. /--------------------------------------------------------------------------
  439. /                *   Featuring dual-function   Alt-D   *
  440. /                *   depending on ON/OFF line Status   *
  441. /--------------------------------------------------------------------------
  442. / {:ald}   {ifca mlist}           ;Alt-D first checks for CARRIER
  443. /          {dial}    {}           ;If NO, bring up dialing directory
  444. /
  445. / {:mlist} {scre n,%_hom%dl-list} ;If CARRIER ONLINE, name screen image
  446. /          {scro}                 ;Enter scrollback mode:
  447. /                                 ;  This is where you will tag files
  448. /                                 ;  Use the "W" facility in scrollback
  449. /                                 ;  Press C/R twice on each file to tag
  450. /                                 ;  Press ESC to quit tagging.  Next,
  451. /          {edit %_hom%dl-list}   ;Enter COMMO's built-in editor:
  452. /                                 ;  Add or delete file names, 1 per line
  453. /                                 ;  Description text will be stripped
  454. /                                 ;  later in the macro.
  455. / {ifex %_hom%dl-list,dstart}  {} ;Graceful exit if you deleted all lines.
  456. /
  457. / {:dstart}{setv file}
  458. /          {inpu file,C/R to Start DownLoad Now}   ;A chance to exit
  459. /          {comp file}  {ifco go-dl}          {}   ;  before start of d/l.
  460. /
  461. / {:go-dl} {send d|}                 ;To the BBS, the download command
  462. /                                    ; (or use the FLAG command)
  463. / {rope %_hom%dl-list,end-dl}        ;Open file list for reading
  464. /
  465. / {:next-1}{read file}               ;Read one complete line into %file%
  466. /          {subst file,1,12,%file}   ;Strip all but first 12 characters
  467. /          {send ~~~%file%|}         ;Send filename to BBS
  468. /          {goto next-1}             ;Repeat read unti dl-list is all read
  469. /
  470. / {:end-dl}{exec-n del %_hom%dl-list};Delete the list after sending
  471. /          {send ~|}  {}             ;This macro is ended.
  472. /                                    ;Waiting for Auto-Zmodem d/l?
  473. /==========================================================================
  474.  
  475. /================================================================/
  476. /   COMMO Macro that calls a WAFFLE BBS and checks for ZIPNEWS   /
  477. /----------------------------------------------------------------/
  478. / *  This macro uses a variable called %pword2%.
  479. / *  That variable is defined in my COMMO.FON file ... now I can
  480. / *  freely share  *ALL*  of my COMMO.MAC file with the world.
  481. /
  482. / {:cfb} {send open inet|}
  483. /
  484. /        {parm ,,,,390}
  485. /        {setlook 30,,15,|}
  486. /        {golook byz,try later}
  487. /        {lookfor NEW:}         {send ~cboldt|}
  488. /        {lookfor Password:}    {send %pword2|}
  489. /        {lookfor %bbs_pmt}       {send ~zipnews|}
  490. /        {setlook 240,nozn,,}
  491. /        {golook nozn,No new articles}
  492. /        {lookfor Found:}       {setg ,,l}     {gets-H count,7}
  493. /        {comp count,15}        {ifco-L nozn}
  494. /        {lookfor articles?}    {send ~~y|}
  495. /        {lookfoR ^xB00}
  496. /        {exec-N dsz rz -m %dldir\inet%_mon%%_day.zip}
  497. / {:nozn}{setlook ,,10,n|}
  498. /        {lookfor %bbs_pmt}       {parm ,,,,600}
  499. /        {send ~bye|}           {parm ,,,,0}
  500. /        {pause 5} {ifca ycar}  {retu}
  501. / {:ycar}{setlook ,,5,|}
  502. /        {lookfor %bbs_pmt}       {send m|}
  503. /        {return}
  504. /================================================================
  505.  
  506.  *---* Play Space *---* {:alp} {macr playsp} {}
  507.             {disp ,,,%_hom} {}
  508.  {:al9}     {send I am ready to be switched to host!}
  509.             {paus 1}
  510.             {setg 30,retu,l}                    ;wait 30 seconds for password
  511.             {gets-p password,8}                 ;get password from "NOW-host"
  512.             {comp password,pick-one}            ;remote guy picks his password
  513.             {ifco af5}
  514.             {retu}
  515.  
  516.  *---* Macro to parse a command line string *---*
  517.  
  518.   {:go_to}  {inpu cmd_str,Command arg1 arg2 etc}
  519.             {comp cmd_str}
  520.             {ifco retu}
  521.             {setv count,0}
  522.   {:parse}  {inst %cmd_str%, }
  523.             {ifco ,eparse}
  524.             {setv pos,%_pos}
  525.             {decr pos}
  526.             {subs arg%count,1,%pos,%cmd_str}
  527.             {incr pos,2}
  528.             {subs cmd_str,%pos,255,%cmd_str}
  529.             {incr count}
  530.             {goto parse}
  531.   {:eparse} {setv arg%count,%cmd_str}
  532.             {setv cmd_str}
  533.             {goto %arg0}
  534.  
  535.  *---*  Automatic mark and dial routines *---*
  536. !{:sf7}          {hold 05:30}  {call nfb}                              {}
  537. !{:nf7}          {unmark} {mark Weather}                {dial ,}       {}
  538. !{:nfa}          {disp 24,1,1e, NLBBS & Weather after ... ^m}{hold 05:30}
  539. !                {mark 2 ■,3 ■} {setv rflag,001} {dial-c 40,}
  540. !         {:001} {ifex d:\qwk\dave\nlbbs.rep,legault}
  541. !         {:003} {mark weather} {setv rflag,aln} {dial-c 40,} {retu}
  542. !{:nfb}          {unmark} {mark 2 ■,3 ■} {dial-c 40,} {unmark}         {}
  543. !{:sfb} {:sfa}   {mark 2 ■,3 ■,Maine,smvti,wolf's,direct,dataw,ledge,babb,abacu,after5}
  544.                  {disp 6,21,1f,║   Weekend!  Dial All ■ marked BBS's    ║}
  545.                  {goto aln}
  546. !{:sf1}          {unmark} {mark Node 3}      {dial 15}                 {}
  547. !{:sf2}          {unmark} {mark Director}    {dial 15}                 {}
  548. !{:sf3}          {exec-n d:\jr\jabber}                                 {}
  549. !{:wtr}          {macl weather.mac,wtr}
  550.  
  551.  {:legault}      {unmark}
  552.                  {mark legault■}  {setv rflag,002}
  553.                  {dial-c 40,}
  554.           {:002} {setv name,Chuck Seyboldt}
  555.                  {setv qwkdr,d:\qwk} {setv repdr,d:\qwk}
  556.                  {exec-n copy d:\qwk\dave\nlbbs.* b:}
  557.                  {exec-n del d:\qwk\dave\nlbbs.*}  {goto 003}
  558.  
  559.  *---*  This automatic mark-and-dial routine will send your .REP files  *---*
  560.   *  It bypasses .QWK download questions with the "SKIP" facility  *
  561.  {:sf4}          {ifex %repdr%\*.rep,rep_mark}
  562.                  {exec-n del %ramdr%\rep_dir}
  563.                  {setv skip}    {retu}
  564.  {:rep_mark}     {exec-n dir %repdr%\*.rep > %ramdr%\rep_dir}
  565.                  {setv skip,y}
  566.                  {rope %ramdr%\rep_dir,rep_dial}
  567.  {:r_loop}       {read file}
  568.                  {inst file,rep} {ifco ,r_loop}
  569.                  {subs file,1,6,%file}
  570.                  {mark %file}    {goto r_loop}
  571. {:rep_dial}      {dial-c 45,}    {goto sf4}
  572.  
  573.  ┌───────────────────────────────┐
  574.  │  Return Point From LOGON.MAC  │
  575.  └───────────────────────────────┘
  576.  
  577.  {:aln}  {dial-c 45,}  {retu}  ;Multi-dial & Return
  578.  
  579.  ┌────────────────────────┐     ┌───────────────────────┐
  580.  │  Links from COMMO.FON  │     │  Generic Logon Alone  │
  581.  └────────────────────────┘     └───────────────────────┘
  582.  
  583. !{:pcb}  {macl table.mac,pcb}  ;TABLE.MAC can also sets prompts
  584. !{:rma}  {macl table.mac,rma}  ; for a generic logon with NO MAILRUN.
  585. !{:tag}  {macl table.mac,tag}  ;PCBoard, Remote Access,
  586. !{:s-f}  {macl table.mac,s-f}  ;T.A.G, Spitfire, GAP, Wildcat! and
  587. !{:gap}  {macl table.mac,gap}  ;MACROBBS are already supported.
  588. !{:wc!}  {macl table.mac,wc!}
  589. !{:mac}  {macl table.mac,mac}  ;From TABLE.MAC to LOGON.MAC,glr
  590.  
  591.  ┌──────────────────────────────────┐
  592.  │  Generic Logon and Mail Routine  │
  593.  └──────────────────────────────────┘
  594.  
  595.   *  With this tool you can mark multiple nodes of one BBS but make
  596.   *  only one connect per unattended session.
  597.  
  598.          FON manipulation
  599.          ----------------
  600. !{:nlb}  {unmark 2 ■,3 ■}  {macl table.mac,nlb} ;Control passes from
  601. !{:smt}                    {macl table.mac,smt} ;COMMO.MAC to TABLE.MAC
  602. !{:bab}                    {macl table.mac,bab}
  603. !{:dir}                    {macl table.mac,dir} ;Note useage of same macro
  604. !{:aft}                    {macl table.mac,aft} ;label in TABLE.MAC
  605. !{:aba}                    {macl table.mac,aba} :  as in  COMMO.MAC
  606. !{:wol}                    {macl table.mac,wol}
  607. !{:mep}                    {macl table.mac,mep}
  608. !{:dat}                    {macl table.mac,dat}
  609. !{:led}                    {macl table.mac,led}
  610. !{:esk}                    {macl table.mac,esk}
  611.